Orthogonally Persistent Object Systems1
نویسندگان
چکیده
Persistent Application Systems (PASs) are of increasing social and economic importance. They have the potential to be long-lived, concurrently accessed and consist of large bodies of data and programs. Typical examples of PASs are CAD/CAM systems, office automation, CASE tools, software engineering environments and patient-care support systems in hospitals. Orthogonally persistent object systems are intended to provide improved support for the design, construction, maintenance and operation of PASs. The persistence abstraction allows the creation and manipulation of data in a manner that is independent of its lifetime thereby integrating the database view of information with the programming language view. This yields a number of advantages in terms of orthogonal design and programmer productivity which are beneficial for PASs. Design principles have been proposed for persistent systems. By following these principles, languages that provide persistence as a basic abstraction have been developed. In this paper the motivation for orthogonal persistence is reviewed along with the above mentioned design principles. The concepts for integrating programming languages and databases through the persistence abstraction and their benefits are given. The technology to support persistence, the achievements and future directions of persistence research are then discussed. 1 Introduction This paper presents a broad review of current research and achievements in orthogonally persistent object systems. It provides an advanced tutorial for those commencing research or advanced study in persistence, databases or database programming languages and a survey of the persistent language community's contribution to this growing research area. A particular goal is to summarise the existing achievements and to identify the current research issues. Orthogonally persistent object systems support a uniform treatment of objects irrespective of their types by allowing values of all types to have whatever longevity is required. The motive for establishing this uniform treatment is presented first. Subsequent sections of the paper present definitions, integration concepts, technology to support persistence and achievements. The penultimate section suggests some of the crucial areas of further research. Table 1 identifies the major topics covered. The aim of persistent programming is to support the activity of applications' construction for long-lived, concurrently accessed and potentially large bodies of data and programs; referred to here as Persistent Applications Systems (PASs). They are designated persistent application systems because the application often outlives its individual components and even its implementation technology. Typical examples of such PASs are: CAD/CAM systems, office automation, CASE tools, software, integrated hospital administration and medical systems, large …
منابع مشابه
The Transactional Object Cache as a Basis for Persistent Java System Construction
The promise of Java as the vehicle for widely used, industrial strength orthogonally persistent systems places a renewed emphasis on implementation technologies for orthogonally persistent systems. The implementation of such systems has been held back by a number of factors, including a breadth of technologies spanning database and programming language research domains, and difficulty in capita...
متن کاملPJRMI: Remote Method Invocation for a Persistent System
This paper describes PJRMI: support for remote method invocation in the context of the object-oriented, orthogonally-persistent system of the PJama project. It examines the issues raised by combining orthogonal persistence with distribution. An evaluation is made of the current implementation and an indication is made of the challenges
متن کاملDemonstration of Hyper-Programming in JavaTM
We demonstrate the use of a hyper-programming system to build persistent Java applications in PJama, an orthogonally persistent version of JavaTM. This allows program representations to contain type-safe links to persistent objects embedded directly within the source code. The potential benefits include greater potential for static program checking, improved efficiency, and reduced programming ...
متن کاملSemantics for Parameter Passing in a Type-complete Persistent RPS
An orthogonally persistent programming language is a type-safe programming language that seamlessly includes a database for long-term object storage. A remote procedure call (RPC) mechanism permits calls of a procedure in another address space, and has proved to be a useful tool for building distributed systems. Taken together, an RPC mechanism and a persistent system are potentially suitable f...
متن کاملImplementing Orthogonally Persistent Java
Orthogonally persistent Java combines the power of abstraction over persistence with Java’s rich programming environment. In this paper we report our experience in designing and implementing orthogonally persistent Java. Our design approach is anchored by the view that any system that brings together Java and orthogonal persistence should as far as possible avoid diluting the strengths of Java ...
متن کامل